During the past several years, there has been an increase in the use of databases. A large part of the increase is due to the increased development and use of electronic commerce (E-commerce) services.
E-commerce has developed tremendously during the past few years due to the explosive and widespread use of the Internet and, in particular, the World Wide Web. Due to the relatively low costs of developing web sites with E-commerce features, many new companies have been created to exploit the features and capabilities of the “new economy” and specifically E-commerce. Older, more traditional companies are also expanding to the World Wide Web to provide E-commerce services. As a consequence, the use and requirements of databases by web service providers is increasing and continually evolving.
This rapid rate of use and evolution of databases has resulted in many databases undergoing continual modification as a company's business model changes, new E-commerce features are developed, customer needs change, or the focus of the business using the database changes. Additionally, many businesses, while developing their E-commerce applications, are continually refining, re-defining and generally changing the services that will need to be supported by their databases. Consequently, the applications and the underlying database tables that are being developed by these companies to support their E-commerce needs are in a constant state of flux. As a result, databases are constantly in need of maintenance. This maintenance may require the removal or deletion of unwanted data. However, the tools available to support the maintenance and cleanup of databases have been less than satisfactory.
Many of the maintenance tools available today must be specifically designed for each table that forms part of a larger database. Since commercial databases may literally comprise, and require the development, of hundreds and sometimes thousands of custom tables, the effort required to support maintenance in such a custom configuration and/or development is extremely onerous. With many present database maintenance tools, specific routines are often coded or written for each table that is to be maintained, such as, deletion of data that is older than a specified period and deletion of particular customers, for example. The source code for these specific routines is difficult to maintain. Additionally, when a table in a database is modified such as, for example, a change in the name of a table or column, a change in a referential integrity (RI) relationship, or a change in data deletion rules (e.g., delete rules) when an RI constraint is changed, the source code for a maintenance tool affected by the change will also need to be modified and re-compiled. Additionally, as the number of tables in a database increases, the complexity and maintainability of database maintenance tools also increases. Thus, the task of developing a custom data maintenance tool for frequently changing database tables can be overwhelming, time consuming and costly.
Accordingly, it would be desirable to provide database maintenance tool which is easily customized and which can adapt to constantly changing database tables.